import java.io.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class CommFrame extends JFrame implements ActionListener {
	File file=null;
	JMenuBar bar;
	JMenu fileMenu;
	JMenuItem inputMenuItem,showMenuItem;
	JTextArea show;         //负责显示信息
	InputArea inputMessage; //负责录入信息(InputArea是自己写的类，见本例中的InputArea.java)
	CardLayout card=null;   //卡片式布局.
	JPanel pCenter;
	CommFrame() {
		file=new File("通讯录.txt");
		inputMenuItem=new JMenuItem("录入");
		showMenuItem=new JMenuItem("显示");
		bar=new JMenuBar();
		fileMenu=new JMenu("菜单选项");
		fileMenu.add(inputMenuItem);
		fileMenu.add(showMenuItem);
		bar.add(fileMenu);
		setJMenuBar(bar);
		inputMenuItem.addActionListener(this);
		showMenuItem.addActionListener(this);
		inputMessage=new InputArea(file);
		show=new JTextArea(12,20); 
		card=new CardLayout();
		pCenter=new JPanel();
		pCenter.setLayout(card);
		pCenter.add("inputMenuItem",inputMessage);
		pCenter.add("showMenuItem",show);
		add(pCenter,BorderLayout.CENTER);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setVisible(true);
		setBounds(100,50,420,380);
		validate();
	}
	public void actionPerformed(ActionEvent e) {
		if(e.getSource()==inputMenuItem)
			card.show(pCenter,"inputMenuItem");
		else if(e.getSource()==showMenuItem){
			int number=1;
			show.setText(null);
			card.show(pCenter,"showMenuItem");
			try{  RandomAccessFile in=new RandomAccessFile(file,"r");
				String name=null; 
				while((name=in.readUTF())!=null) {   
					show.append("\n"+number+" "+name);
					show.append("\t "+in.readUTF());  //读取email
					show.append("\t"+in.readUTF());  //读取phone
					show.append("\n------------------------- ");
					number++;
				}
				in.close();
			}
			catch(Exception ee){}
		}
	}
}
